perm filename PROPOS.AL[RDG,DBL]2 blob sn#658726 filedate 1982-05-06 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	(Review) Proposal  11-Jan-82
C00009 00003	Description:
C00021 00004	I will be designing an interactive analogy-understanding module,
C00024 00005	Examples of Reformulation
C00025 ENDMK
C⊗;
(Review) Proposal  11-Jan-82
∂TO csd.lenat@score 17:41 11-Jan-82
	What is this document?
I am currently searching (?floundering?) for a precise thesis topic,
rather that doing any "real" research.
The ideas now considered are very rough and preliminary -- most are
(at best) but first passes, needing much refining.
Hence, this description will NOT be
along the lines of Roget paper which Jim submitted;
not only would this be very difficult to produce,
but I can't imagine how such contorted answers would be useful.
In leiu of that, 
below are a list of (hopefully) relevant questions and their answers.

	Who am I?
Russell Greiner
5th year Grad student

	What am I doing?
I am just beginning work on an application program 
which will allow domain experts to use analogies when enterring
domain knowledge into a growing expert system.

	Why is this is useful to HPP?
Most HPPer agree that knowledge acquisition is the current main problem facing
expert systems today.
Analogy is consider one strong method of solving this problem -- it would
allow the expert to communicate with the program in a natural manner; one
which saves him much of the drudgery of filling in "obvious" details.

	What will the program (eventually) do?
Concocted scenario: An expert quickly teaches Mycin about a new class of
organism, X, by stating that X is just like streptococis, except that ...
The "analogizing" program now examing Mycin's KB of rules, and
proposes new rules to cover this X case, each generated from an existing rule, R,
using a proportional analogy
	Streptococis:X :: R:<the new rule>.

	Why am I doing this?
First, I believe a successful analogizing program will have a major impact
throughout AI.  
The scenario shown above indicates how useful it is for building and
expanding an expert systems;  mutatis mutandis it could be used in
other AI "learning" tasks as well.
I also feel this system may provide the groundwork for other analogy-related tasks:
using analogies to teach or explain a concept new to the student 
(to TEACH about X, describe how it is similar to streptococis, ...), 
and for predictions and conjectures 
-- knowing that streptococis did this, expect X may do likewise
(or else that this X will have a similar effect - where the nature of the
similarity was determined from X's likeness to streptococis).

The second reason is more personal:  I've fascinated by our human ability
to generate and understand analogies.
This seems a very fundamental and immensely powerful tool --
a capability which I believe any intelligent entity must have,
both to reason effectively and to communicate efficiently.
I'm excited at the prospect of working in this area.

	How I intend to do it?
My research programme begins with a massive "knowledge acquisition" phase --
both from advisors and the available literature.
Finding input from the former sparse (though quite useful when transmitted),
I've spent the last month or two reading what I can find on analogy/metaphor,
from diverse fields - philosophy, psychology, AI (and here in learning and
more directly titled analogy papers).
In addition, I've been working through some dry-lab examples, and asSembling
(and refining) a few proto-papers, including a thesis proposal to be.

	How and where will the program fit into HPP?
Programs: Perhaps it will eventually be plugged into Eurisko; and/or written up
as a module which an MRS user can load in.
Personnel:
Perhaps TGD and/or MRG will need what this program provides for their respective
tasks.  I feel a close collaboration would be profitable for me, and suspect
they might gain as well.
(We certainly should, in any case, avoid stepping on each other's toes.)

	What do I need?
Better guidance -- I've found the faculty all buT unapproachable,   I will step
up my harrassmeft.
¬
A few crisp, solid examplEq -- despite the H@!@AO←gAKXAcU←iKHαβπ?6)1β;}∪?∪dhSOπ↔o→βπf)βS=π∪↔7↔n∪↔Iβ
βG';>c∃β↔F7C3*β?→β>C↔9β&C↔eβ≤{W3⊃∧Cπ[∃π+O↔⊃∧	βCK};Kπ4hSOW∂BβπMβ&C∃β?v)β∪↔≡≠K'.!βπ␈3∃84P2∪↔≡≠K'C&K?9hhQ"←#∂!βπ5∧Iβ∪?Ns≥⎇$hP4*SFKMβK/≠↔πK≡Aβ↔≠6{KQβO→β↔c∞k';'v9βS#*βK?3*βπ;πf{∨eβ≡9βCfeβ'rβS#∃h*/;␈;3↔∪>)απ∂∂+'O'&K?9βπ∪?∂↔∨→84*&C∃β∂/∪K↔;"β≠?∂/→β'Mε{9βπr↓π;∞c?∨eo+;∪↔↔≠Sπ;&K;≥	εk?∪Wf)04+>C'∂!ε33??→β¬β&{7π'rβ↔cC/∪QβSzβ∪↔≠Ns∃β¬εs↔]βεKQβ}1βS#*β∪?7∞K84+∂→β↔Ns≥βONk'3π∩βS=β≡{7∃β↑s?←9πβπKQph(4*∂→β¬β≡K7C3*β↔cπoβ3∃0hS∂?;≡K∪↔Iπ#↔π∂FK;≥β∞qβ'7nSWK*↓#↔∪O#?I%ε+cC↔↔!βOg∨#↔5β&C∃β[∂∪'?W~α⊗6ε≥→β∂?nkπ;∪~p4*πrβ?[N{WMβNsOSK.≠S'?rβ←?Wf!β∀hQ←?⊗!β∂?nkπ;∪~βπK∃εSWOQεc'/∃ε≠#πK∞≠S↔Iε≠?77∞s∪M0hR⊗b∞-αQβ←␈∪⊃β∂}k7π;'→βWO*α7↔S
βKπSF+IβSF9α∂}sSK?b⊃84*&C'Mβ∞sπ3??I7W;&+KOS∞s∪';:β7?∪.c∃β←Nc1β*βK↔Oε{;O'⊗c∃βSzβWC∪∂#';≥π##∀4V[;?←f+∪∨∃ε∪πO∃π#=β'v≠3W∪*βS#↔≡)β;↔:β∂?7n;⊃0hSπMβ>+31β∂→βπO↑K;≥β6{IβπwIβπ∪&KS'?v1β;.+∪↔⊃εK;≠?⊗kπS'}q84*v{S'∂*βS#∃αC#W7∞q%β'w≠SKW∨#?IβO→β∨↔v+KπSNs≥βSF)βπ;∞c?∨e`h+;?"βS#'~β7?∪.c∃84Ph*S#/∪∃βπ⊗)βS←zβ?S#/⊃βSgε+Mβ?2βSπO←→βW;&+Iβ∂}sO'∪/∪πS'}q84*&C∃β≠O∪OQβO→βS↔∞≠#';:βS#π"β↔∪'&{Iα↔Gβ↔KQ¬≠gOS.iβ¬β≡+∂?;"β↔∪'&{I↓5
this involves describing that second editor (say E) in terms of
the already known editor, say EMACS.
Again the module would be responsible (only) for using the editor-to-editor
analogies supplied by the expert,
not generating them.
A second, more ambitious task would use known facts, and observed analogies,
to generate new plausible connections.
This analogy-for-learning program might notice the C-x to M-x relation,
as manifest in the C-F/M-F, ... commands.  
On seeing a C-T command,
it might guess a M-T command exists, and reason (correctly) it transposes words.

(Why this particular task?)

The topic "Analogy" encompasses a large number of diverse ideas.
If there is any coherent theme which permeates these different perspective,
it is that analogy is a (?the?) non-decomposition way of claiming that two
things are similar.
Understanding an analogy seems more basic a process than generating an analogy --
in that any generator must be able to verify that the analogy is (potentially)
apt.  The setting of using a small, local analogy -- which permits a foreign
term to quickly "absorb" many (but not all, of course) of the details of a
familiar thing; seems the basic case of understanding an analogy.
(This is to be contrasted with the more general analogies,
which compare elaborate structures (e.g. electrical curcuits with water
flow systems.  These larger systems seem composed of many smaller mappings,
systematically arranged.)
Within exegesis, there is still considerable breadth.  I choose the KA task
because it is so readily verified -- the resultant expert system either uses
the newly acquired fact, or it doesn't.  
(Yes, there is still the issue of cheating:
did it learn this new fact in a correct (ie general) way?)
Hence this particular research activity.

Motivation:
(Why do I think it will work?)

This research is based on the observation that it is much easier to teach 
someone a second domain than it was to teach him the first;
especially when those two domain are similar.
Basically, that first domain (or part of the domain) will provide a
rough orgranization in which to store the new facts,
plus a host of familiar well-understood facts against which to match
the new terms.
This should be true for expert systems as well --
that incorporating additional facts should be faster and easier if
one already has a corpus of core facts, and a basic structure of
the domain.

(Why am I doing it?)

It is widely accepted that a (?the?) major problem in Expert Systems
is the Knowledge Acquisition bottleneck.
This programme is directly addressing this issue.
The tasks mentioned above show two ways
that analogy may be used by an expert system to acquire "expertise":
(1) by providing a natural language the domain expert can use
to efficiently and rapidly communicate pertanent facts,
and (2) by suggesting plausible new rules and facts, based on existing facts,
and prior analogical connections.

This analogizing capability seems most appropriate, and profitable,
for the final stage of Knowledge Acquisition (using JSB's three stages).
By this time a rough skeleton of the domain has been generated,
and many domain particulars have been enterred.
Fleshing out this structure requires many "Copy and Edit" steps.
At the very least this program should eliminate this tedious process --
or at least reduce the number of such modifications, and simplify that modifying
process.

(Why do I think it will work?)

While there are a number of analogizing programs, I know of no other
task

Research programme:
(How am I doing it?)

I am presently in a knowledge acquisition phase of this work --
trying to obtain the needed knowledge by a combination of reading,
writing and introspection.
(Following the learn by example approach I advocated above,)
I am generating a (dry-lab) scenario,
to demonstrate how this analogy-understanding program should behave.
This will be a living document -- which will be updated to reflect the
implementation (and my current thoughts) as necessary.

This emerging KA program will attempt to learn additional EMACS commands,
based on old ones.
While this task seems rather simple,
it has already forced me to examine a number of issues. 
(Many are listed in the [Intellectual Difficulties] section.)
Eventually I would like to scale up to more complex (seeming) tasks mentioned
above, staying within the same editor domain 
After that, I hope to address a less artificial, artifactual domain -- such as
molecular genetics or medical diagnosis.
(Note in both secondary tasks,
I am assuming that this initial body of "analogy" facts
(together with my preliminary organization of analogy,)
will provide both the framework I need to flesh-out
understanding of analogy, as well as an good starting set of potential analogues.)

For perspective on this task of analogy,
as well as to help me formulate my own ideas,
I am also working on a brief paper on "naive analogy".
This will record various thoughts on this topic -- both mine and others.
It will list many of the different senses of analogy found in the literature,
(based on task performed, as well as underlying theory,)
together with a set of "dimensions" used in these descriptions.

Tactics:
(How am I going about coding this up?)

<<Nothing yet>>

Milestones:
(Where am I, and when will I be where?)

While I am not ready to be tied to particular absolute times for the following,
below is my suggested relative completion dates.

Finish thesis proposal, including the desired scenario
	Current status: Ok - needs to integrate the scenario
Finish writing, and circulate, a draft of NaiveAnalogy paper
Begin coding the KA system to handle this case
	This will require writing a crude performance module, etc.
	(This looks like a job for MRS!  or maybe RLL? or EMYCIN?)

Intellectual difficulties:
(What questions am I just beginning to address?)

As mentioned above, there are several issues which arise, even in this simple
example, within this restricted application of analogy.

*	Initial state of pupil
	(not too literate, nor too ignorant)
*	Pupil's rep'n important -- can make analogy trivial, or interesting
*	Language for expressing "A is like B, except...."
*	Alterring "known" facts - eg rearrange domain skeleton

There is also a major meta-level issue to be resolved:
How does one demonstrate that the expert system now knows a new fact, and
can use it appropriately?
The real issue is how to ask the question -- and whether the question
somehow encodes the desired answer.
(This is, of course, a general problem for learning systems in general.)
I will be designing an interactive analogy-understanding module,
which will be used to expand a growing KB of domain facts.
That initial KB must be rather complete -- having many things
to use as vehicle.  (But not so much that this use of an analogy is silly.)

We will say the system "understands" the analogy when it can use the
topic appropriately.  
(E.g. the system "understands" the M-F command when it uses this command
whenever it wants to move forward a word, and only in such situations.)

-----
Position in Analogy-Space
(See "What's in an Analogy" paper.)

Similarity metaphors (or proportional -- but NOT familial)
Use of the analogy, NOT its generation.
Deductive -- when only a conjecture, it will be examined interactively.
Linguistic (not rep'n)

Pretty much at Instance level --
   o	specificity can vary, but usually at the most precise level
   o	it will end up applying to new single commands, rather than
	classes of commands
	(although they may be communicated in that more generic manner)

Cases will be "closed" -- well definnd single use, and then discardable
Obvious
Refined
IntRAfield -- only from other things pertanent to editors...

Interactive
-----
Given input of the form "X is like Y because α",
this system will basically do a SOPHISTICATED copy and edit:
The smarts will come from deciding what to carry over, and how.

Hence the issues include
1) What features should be
	transfered, guaranteed
	transfered, with only a Y/N question 
		(where Yes is expected, and No requires other work)
	transfered, with value only suggested
	not even considered
2) the value of the feature may be
	simply copied from vehicle
	modified "guaranteed"
	modified suggestively
	restricted to a small set
Examples of Reformulation
1) Filling in values of (computable) slots
	-- eg day from date
2) Generating new types of (computable) slots 
	-- eg transitive closure